<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>时间日期对象</title>
    <style>
      .jingdong {
        width: 190px;
        height: 260px;
        padding-top: 10px;
        background-image: url(images/jingdong.png);
        margin: 50px auto;
      }
      h2 {
        margin-top: 31px;
        font-size: 30px;
      }
      h2,
      p {
        color: #fff;
        font-weight: 700;
        text-align: center;
      }
      p {
        margin-top: 80px;
        font-size: 16px;
      }

      p strong {
        font-size: 18px;
      }

      .time {
        position: relative;
        width: 130px;
        height: 30px;
        margin: 0 auto;
      }

      span {
        position: relative;
        display: inline-block;
        width: 30px;
        height: 30px;
        line-height: 30px;
        text-align: center;
        background-color: #2f3430;
        color: #fff;
        margin: 0 5px;
        font-weight: bold;
        font-size: 18px;
      }

      span:nth-child(-n + 2)::after {
        content: ":";
        display: inline-block;
        position: absolute;
        bottom: 0;
        left: 27px;
        width: 20px;
        height: 30px;
        color: #fff;
        font-size: 18px;
      }
    </style>
  </head>

  <body>
    <div class="jingdong">
      <h2>京东秒杀</h2>
      <p><strong id="clock"></strong>点场 距结束</p>
      <div class="time">
        <span id="shi"></span>
        <span id="fen"></span>
        <span id="miao"></span>
      </div>
    </div>

    <script>
        function countTime(){
          //1.判断秒杀场次 并将时间点显示在id="clock"的标签中
          //(1)创建本地当前日期对象
          var now = new Date();
          //(2)获取当前小时
          var nowHour = now.getHours();
          //(3)定义变量来保存场次时间文本
          var session = '';
          //(4)创建结束日期对象
          var end = new Date();
          if(nowHour >= 8){
            //设置结束时间中分钟、秒钟为0
            end.setMinutes(0);
            end.setSeconds(0);
            //判断场次
              if(nowHour > 8 && nowHour <= 10){
                //场地文本
                session = '8:00';
                //设置该场次的结束时间
                end.setHours(10);
              }
              if(nowHour > 10 && nowHour <= 12){
                //场地文本
                session = '10:00';
                //设置该场次的结束时间
                end.setHours(12);
              }
              if(nowHour > 12 && nowHour <= 14){
                //场地文本
                session = '12:00';
                //设置该场次的结束时间
                end.setHours(14);
              }
              if(nowHour > 14 && nowHour <= 16){
                //场地文本
                session = '14:00';
                //设置该场次的结束时间
                end.setHours(16);
              }
              if(nowHour > 16 && nowHour <= 18){
                //场地文本
                session = '16:00';
                //设置该场次的结束时间
                end.setHours(18);
              }
              if(nowHour > 18 && nowHour <= 20){
                //场地文本
                session = '18:00';
                //设置该场次的结束时间
                end.setHours(20);
              }
              if(nowHour > 20 && nowHour <= 22){
                //场地文本
                session = '20:00';
                //设置该场次的结束时间
                end.setHours(22);
              }
              if(nowHour > 22 && nowHour <= 24){
                //场地文本
                session = '22:00';
                //设置该场次的结束时间
                end.setHours(24);
              }
          }else{
              session = '暂时没有秒杀活动';
          }
          //将session数据显示在标签中 
          //给标签添加内容 innerHTML 
          document.getElementById('clock').innerHTML = session;
          //2.计算倒计时 并将小时、分钟、秒钟显示在span
          //(1) 获取结束和开始之间的时间差
          var lag = (end - now)/1000;//秒
          //console.log(lag); 时间差得到是两个时间段的毫秒值 1000毫秒 = 1秒
          //将秒转成为小时、分钟、秒钟
          var hours = Math.floor(lag / 60 / 60)  ;//Math.floor() 向下取整
          var minutes = Math.floor(lag / 60 % 60 );
          var seconds = Math.floor(lag % 60 );
          //将内容显示在span标签中
          document.getElementById('shi').innerHTML = show(hours);
          document.getElementById('fen').innerHTML = show(minutes);
          document.getElementById('miao').innerHTML = show(seconds);
          //每隔一秒调用 setTimeout('函数名',时间段);
          setTimeout('countTime()',1000);
        }
        //定义函数：当数字小于10 就在前面补0
        function show(time){
          return time > 10 ? time : '0'+time;
        }
        //在网页加载时调用函数
        window.onload = countTime;
    </script>
  </body>
</html>
